/*************************************************************************
	> File Name: oj-503.cpp
	> Author: Wang Bo
	> Mail: 1276106221@qq.com
	> Created Time: 2020年11月24日 星期二 02时34分20秒
 ************************************************************************/
#include <cstdio>
#include <algorithm>
using namespace std;
int w, n, person[205];

int main() {
    scanf("%d%d", &w, &n);
    for (int i = 0; i < n; ++i) {
        scanf("%d", &person[i]);
    }
    sort(person, person + n);
    int l = 0, r = n - 1, cnt = 0;
    for (int i = 0; i < n; ++i) {
        printf("%d ", person[i]);
    }
    printf("\n");
    while (l <= r) {
        if (l == r) {
            printf("%d -> %d\n", person[l], w);
            cnt++;
            break;
        }
        if (person[l] + person[r] <= w) {
            printf("%d + %d -> %d\n", person[l], person[r], person[l] + person[r]);
            l++, r--, cnt++;
        } else {
            printf("%d -> %d\n", person[r], w);
            r--, cnt++;
        }
    }
    printf("%d\n", cnt);
    return 0;
}
